﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace FilesArranger
{
	public abstract class TreePageBase : ActionModel.WebModel.PageBase
	{

		protected override void OnLoad(EventArgs e)
		{
			this.ActionDict.Add("LoadChildren", new Action(LoadChildren));
			this.ActionDict.Add("DeleteChildNode", new Action(DeleteChildNode));
			this.ActionDict.Add("CreateChildNode", new Action(CreateChildNode));
			this.ActionDict.Add("MoveChildNode", new Action(MoveChildNode));
			this.ActionDict.Add("Refresh", new Action(Refresh));
			base.OnLoad(e);
		}

		protected void Page_Load(object sender, EventArgs e)
		{
		}

		protected abstract void LoadChildren();

		protected abstract void DeleteChildNode();

		protected abstract void CreateChildNode();

		protected abstract void MoveChildNode();

		protected abstract void Refresh();
	}

	public class Test2 : TreePageBase
	{

		protected override void LoadChildren()
		{
			throw new NotImplementedException();
		}

		protected override void DeleteChildNode()
		{
			throw new NotImplementedException();
		}

		protected override void CreateChildNode()
		{
			throw new NotImplementedException();
		}

		protected override void MoveChildNode()
		{
			throw new NotImplementedException();
		}

		protected override void Refresh()
		{
			throw new NotImplementedException();
		}
	}
}